[36/36] Fix request action first-click reliability - #71
Conversation
|
Verdict: approve with nits. This is a legitimate mechanism fix, not a mask: buttons render disabled until hydration reaches ready (the gate is deterministic, dispatch is impossible before requestLoaded flips state), and activation moves to capture-phase mousedown which precedes the webview focus-swallowed click. No retries or delays. One honest caveat the ledger itself makes: JSDOM can't reproduce the VS Code focus behavior, so the tests validate the mechanism and the actual root-cause theory is settled by manual smoke, belt-and-suspenders is acceptable here.
Tests: mostly non-tautological and would fail against the old click-only wiring: disabled during hydration asserted, activation fires on mousedown post-hydration with exactly one sendRequest, suppressed follow-click proven, keyboard Enter/Space covered, WS connect/send/disconnect first-click covered, and the GraphQL case proves the first activation posts the freshly-edited model. Weakness: the command/toolbar/CodeLens route test is a static manifest assertion that passes regardless of the fix. Deps: none added. |
|
Addressed every actionable point in 03fdf0a.
Validation passed: focused layout/WebSocket 56 tests, affected feature suite 122 tests, full suite 496 tests, demo validation 47/47, TypeScript compile, extension build, and all GitHub build/security checks. Stack integrity was checked before the push. Updated PR 70 -> PR 71 and PR 71 -> PR 72 both merged cleanly in three-way simulation. GitHub now reports PR 71 and PR 72 as MERGEABLE/CLEAN. |
03fdf0a to
d7047a2
Compare
|
Correction to my earlier response: the review guard is no longer owned by this historical branch. The guard from 03fdf0a remains fully delivered at the stack tip in PR #72 as c303d27. The 37-PR sequential audit showed that retaining it on PR #71 conflicts with other required review corrections at final composition, so PR #71 is restored to its assigned OC-170 implementation head d7047a2. Verified final state:
|
Summary
Implements OC-170 request-action first-click reliability in the assigned final implementation branch. The original implementation remains at d7047a2, including ad70f83 for the action reliability change and its completion ledger updates.
Review rework ownership
The additional review guard from 03fdf0a is preserved at the stack tip in PR #72 as c303d27. It adds one-dispatch pending guards for HTTP, GraphQL, gRPC, WebSocket lifecycle and message actions, deterministic host-message transitions, focus preservation, propagation-safe activation, and stale click-suppression cleanup.
The full 37-PR sequential composition audit found that retaining 03fdf0a on PR #71 conflicts with review corrections that must also arrive at the final stack tip. Moving it to PR #72 preserves the behavior while keeping this historical branch and its descendants clean.
Stack integrity and validation